package edu.xidian.onlinedocument.logs;

import ch.qos.logback.classic.html.HTMLLayout;

import static ch.qos.logback.core.CoreConstants.LINE_SEPARATOR;

/**
 * 继承HTMLLayout，主要重写了Header头的生成方法，加入了utf-8编码
 * @author 3baka
 */
public class MyHtmlLayout extends HTMLLayout {
    @Override
    public String getFileHeader() {
        StringBuilder sbuf = new StringBuilder();
        sbuf.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"");
        // sbuf.append(" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
        sbuf.append(LINE_SEPARATOR);
        sbuf.append("<html>");
        sbuf.append(LINE_SEPARATOR);
        sbuf.append("  <head>");
        sbuf.append(LINE_SEPARATOR);
        sbuf.append("    <title>");
        sbuf.append(title);
        sbuf.append("</title>");
        sbuf.append(LINE_SEPARATOR);

        // 添加的部分，主要是增加编码头，如果要实现插入标签的自定义的话，需要重写一大堆方法
        sbuf.append("<meta charset=\"utf-8\" />");
        sbuf.append(LINE_SEPARATOR);
        //**************

        cssBuilder.addCss(sbuf);

        sbuf.append(LINE_SEPARATOR);
        sbuf.append("  </head>");
        sbuf.append(LINE_SEPARATOR);
        sbuf.append("<body>");
        sbuf.append(LINE_SEPARATOR);

        return sbuf.toString();
    }
}
